home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / Projects / Contributed Scores / Piano Inventions / Invention 6a < prev    next >
Lisp/Scheme  |  1998-10-26  |  1KB  |  62 lines

  1. ; Invention VIa - solo keyboard  (22/11/93)
  2.  
  3. (create-tonality I '(d& 4 b& 4 c 5 e& 5 a& 5))
  4. (create-tonality II '(f 4 d 5 e 5 a 5 b 5))
  5. (create-tonality III '(b 3 g# 4 a# 4 c# 5 f# 5))
  6. (create-tonality IV '(c 4 g 4 a 4 d 5 f 5))
  7.  
  8. (setq ntimes 20)
  9. (setq ntimes1 4)
  10. (setq seed 0.34)
  11.  
  12. (setq mat '(a b c d e))
  13. (setq chd '(abcde bcd eca de bcde))
  14.  
  15. (setq matx (gen-random seed (* ntimes (length mat)) mat))
  16. (setq chdx (gen-random seed (length chd) chd))
  17.  
  18. (setq len '(1/16))
  19. (setq lenx (symbol-repeat (length matx) len))
  20.  
  21.  
  22. (setq zon  '(5/16 7/16 11/16 13/16 17/16))
  23. (setq zonr (symbol-repeat ntimes '(5/16)))
  24. (setq zonx (gen-random seed (length zon) zon))
  25.  
  26. (def-tonality
  27.   instr (activate-tonality (I d& 4) (II f 4) (III b 3) (IV c 4))
  28. )
  29.  
  30. (def-symbol
  31.   instr (append chd 
  32.                 matx 
  33.                 chdx
  34.                 (symbol-mix (filter-delete 'c matx)
  35.                             (fill-rest (filter-delete 'c matx)  
  36.                                        (symbol-transpose -7 matx)))
  37.                 chdx
  38.                 (symbol-chordize seed (length matx) 5 nil
  39.                                  (filter-midpass 'b 'd matx))
  40.                 chd)
  41.   )
  42.  
  43. (def-length
  44.   instr (append zon lenx zonx lenx zonx lenx zon)
  45. )
  46.  
  47. (def-zone
  48.   instr (append zon zonr zonx zonr zonx zonr zon)
  49. )
  50.  
  51. (def-velocity
  52.   instr (vector-round 45 96
  53.           (gen-noise-white (length (get-symbols-of 'instr)) 0.3))
  54. )
  55.  
  56. (compile-instrument "ccl;output:"  separate
  57.   instr
  58. )
  59.  
  60.  
  61.  
  62.